欧拉版本登录vsftp服务报错530(Login incorrect)问题现象分析及解决

您所在的位置:网站首页 银河麒麟login incorrect 欧拉版本登录vsftp服务报错530(Login incorrect)问题现象分析及解决

欧拉版本登录vsftp服务报错530(Login incorrect)问题现象分析及解决

2024-06-01 23:23| 来源: 网络整理| 查看: 265

问题现象

项目从centOS版本迁移到欧拉版本后,创建huaiyumo的虚拟账户,通过该账户进行登录vsftp服务时报错530,具体错误信息如下:

[root@huai ~]# ftp ftp> open 192.168.11.121 Connected to 192.168.11.121 (192.168.11.121). 220 Welcome to use FTP service. Name (192.168.11.121:root): huaiyumo 331 Please specify the password. Password: 530 Login incorrect. Login failed. ftp>

如此同时,在/var/log/secure日志中发现如下关键打印信息:

connected: pam_userdb(vsftpd:auth): user_lookup: could not init database ‘/etc/vsftpd/login': No such file or directory

通过以上日志打印信息可以发现,是由于缺少login数据库文件(该数据库文件记录着用户及其密码信息)导致无法认证成功,进而导致用户登录失败并报错530。

问题分析

由于PAM认证时会通过/etc/pam.d/vsftpd配置中指定的数据库路径进行读取虚拟用户数据库信息,因此,首先检查/etc/pam.d/vsftpd配置信息,发现并无异常(第2、3行已正确添加,第6行已被注释掉),如下:

[root@huai vsftpd]# cat -n /etc/pam.d/vsftpd 1 #%PAM-1.0 2 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login 3 account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login 4 session optional pam_keyinit.so force revoke 5 auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed 6 #auth required pam_shells.so 7 auth include password-auth 8 account include password-auth 9 session required pam_loginuid.so 10 session include password-auth

其次,检查/etc/vsftpd目录发现login.txt、login.db文件均已存在,通过如下db_load命令重新生成记录huaiyumo虚拟账户的login.db数据库文件后,发现secure日志中仍然报错could not init database ‘/etc/vsftpd/login’: No such file or directory。

[root@huai ~]# echo "huaiyumo" >> /etc/vsftpd/login.txt [root@huai ~]# echo "8H37bk" >> /etc/vsftpd/login.txt [root@huai ~]# db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

排除了/etc/pam.d/vsftpd配置的影响,也排除了login.db生成方式或格式不对的影响,那么有没有可能是login.db这个二进制文件在欧拉版本中无法识别呢?通过进一步调研和分析,果不其然,欧拉版本中无法读取login.db数据库文件,可以读取login.pag数据库文件(可以通过gdbmtool命令来实现)。

问题解决

将项目中通过db_load命令生成login.db文件改为通过gdbmtool命令生成login.pag文件,如下所示。同时,保持/etc/pam.d/vsftpd配置文件保持不变,实现PAM认证时从login.pag数据库文件中读取虚拟用户信息并进行认证登录。

[root@huai user]# gdbmtool /etc/vsftpd/login.pag Welcome to the gdbm tool. Type ? for help. gdbmtool> store huaiyumo DATA? 8H37bk gdbmtool> q [root@huai user]#

通过上述过程完成后,如下,再次用huaiyumo账户登录FTP服务器发现可以正常登录上,并且底层/var/log/secure日志中打印“connected: pam_userdb(vsftpd:auth): user ‘huaiyumo’ granted access”的成功登录信息。

[root@huai ~]# ftp ftp> open 192.168.11.121 Connected to 192.168.11.121 (192.168.11.121). 220 Welcome to use FTP service. Name (192.168.11.121:root): huaiyumo 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3